// 1. 导入express
const express = require('express');
// 2. 导入ejs
const ejs = require('ejs')
// 3. 导入mongoose
const mongoose = require('mongoose')
// 4. 创建express对象
const app = express();
// 5. 配置获取请求体中间件
app.use(express.urlencoded({extended:false}));
// 6. 配置ejs
app.set('views',__dirname+'/html');
app.engine('html',ejs.renderFile);
// 7. 配置get请求 - 渲染对应html模板
app.get('/insert',(req,res)=>{
    res.render('insert.html',{});
});
// 8. 配置post请求路由 - 接口任务：接收请求体数据-并向数据库中插入数据
app.post('/insert',(req,res)=>{
    // 8.1 获取请求体数据
    let {username,age} = req.body;
    // 8.2 连接数据库
    mongoose.connect('mongodb://localhost/0907');
    // 8.3 创建数据库连接成功回调 open
    mongoose.connection.on('open',()=>{
        // 8.3.1 创建文档结构对象 new mongoose.Schema
        let userSchema = new mongoose.Schema({
            name:String,
            age:Number
        });
        // 8.3.2 创建模型对象   mongoose.model
        let userModel = mongoose.model("addusers",userSchema)
        // 8.3.3 插入数据 model.create(data,callback)
        userModel.create({
            name:username,
            age
        },(err,data)=>{
            if(err) throw err;

            console.log(data);
            res.send('请求结束')
        })
        // 8.3.3.1 成功与失败处理回调及响应
    }) 
})
   
// 9. 监听端口服务
app.listen(80,()=>{
    console.log("启动成功");
})
 